package com.ruoyi.system.api.service;

import com.ruoyi.system.api.ResponseWithData;
import com.ruoyi.system.api.domain.ServiceLog;
import com.ruoyi.system.api.domain.ServiceLogVo;

import java.util.List;
import java.util.Map;

/**
 * 服务日志 与服务1对1关联st_plan_detailsService接口
 * 
 * @author shihx
 * @date 2020-03-09
 */
public interface IServiceLogService 
{
    /**
     * 查询服务日志 与服务1对1关联st_plan_details
     * 
     * @param id 服务日志 与服务1对1关联st_plan_detailsID
     * @return 服务日志 与服务1对1关联st_plan_details
     */
    public ServiceLog selectServiceLogById(Long id);

    /**
     * 查询服务日志 与服务1对1关联st_plan_details列表
     * 
     * @param serviceLog 服务日志 与服务1对1关联st_plan_details
     * @return 服务日志 与服务1对1关联st_plan_details集合
     */
    public List<ServiceLog> selectServiceLogList(ServiceLog serviceLog);
    //查询未关联日志
    public List<ServiceLog> selectUnRelationServiceLogList(ServiceLog serviceLog);

    /**
     * 新增服务日志 与服务1对1关联st_plan_details
     * 
     * @param serviceLog 服务日志 与服务1对1关联st_plan_details
     * @return 结果
     */
    public int insertServiceLog(ServiceLog serviceLog);

    /**
     * 修改服务日志 与服务1对1关联st_plan_details
     * 
     * @param serviceLog 服务日志 与服务1对1关联st_plan_details
     * @return 结果
     */
    public int updateServiceLog(ServiceLog serviceLog);

    /**
     * 批量删除服务日志 与服务1对1关联st_plan_details
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteServiceLogByIds(String ids);

    /**
     * 删除服务日志 与服务1对1关联st_plan_details信息
     * 
     * @param id 服务日志 与服务1对1关联st_plan_detailsID
     * @return 结果
     */
    public int deleteServiceLogById(Long id);

    /**
     * 保存日志接口
     * @methodName: saveServiceLog
     * @description: TODO
     * @param serviceLogVo
     * @return: com.ruoyi.system.api.ResponseWithData<?>
     * @author: shihx
     * @date: 2020/3/9 14:17
    **/
    public ResponseWithData<?> saveServiceLog(ServiceLogVo serviceLogVo) throws Exception;

    /**
     * 获取接受任务时间、到达现场时间
     * @methodName: findSendTime
     * @description: TODO
     * @param serviceNo
     * @return: com.ruoyi.system.api.ResponseWithData<?>
     * @author: wlf
     * @date: 2020/3/19 15:27
     **/
    public ResponseWithData<?> findSendTime(String serviceNo, String enginnerId);

    /**
     * 日志管理查询未关联服务报告的日志
     * @methodName: selectUnboundList
     * @description: TODO
     * @param serviceLog
     * @return: com.ruoyi.system.api.ResponseWithData<?>
     * @author: wlf
     * @date: 2020/3/22 10:28
     **/
    public List<Map<String, Object>> selectUnboundList(Map<String, Object> serviceLog);
    /**
     * 更改日志接口
     * @methodName: editServiceLog
     * @description: TODO
     * @param serviceLogVo
     * @return: com.ruoyi.system.api.ResponseWithData<?>
     * @author: wlf
     * @date: 2020/4/22 13:35
     **/
    ResponseWithData<?> editServiceLog(Map<String, Object> serviceLogVo);
    /**
     * 查询已关联服务报告的日志
     * @methodName: editServiceLog
     * @description: TODO
     * @param serviceLog
     * @return: com.ruoyi.system.api.ResponseWithData<?>
     * @author: wlf
     * @date: 2020/4/22 13:35
     **/
    List<Map<String, Object>> selectBoundList(Map<String, Object> serviceLog);
}
